home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Information / CSMP Digest / volume 3 / csmp-digest-v3-045 < prev    next >
Text File  |  1995-12-31  |  66KB  |  1,751 lines

  1. Received-Date: Thu, 14 Jul 1994 13:12:06 +0200
  2. From: pottier@clipper.ens.fr (Francois Pottier)
  3. Subject: csmp-digest-v3-045
  4. To: csmp-digest@ens.fr
  5. Date: Thu, 14 Jul 1994 13:12:02 +0200 (MET DST)
  6. X-Mailer: ELM [version 2.4 PL23]
  7. Mime-Version: 1.0
  8. Content-Type: text/plain; charset=ISO-8859-1
  9. Content-Transfer-Encoding: 8bit
  10. Errors-To: listman@ens.fr
  11. Reply-To: pottier@clipper.ens.fr
  12. X-Sequence: 48
  13.  
  14. C.S.M.P. Digest             Thu, 14 Jul 94       Volume 3 : Issue 45
  15.  
  16. Today's Topics:
  17.  
  18.         AppleShare programming?
  19.         Composing and INIT *NARF*
  20.         FSSpec of own INIT
  21.         Help: DragGrayRgn() Action Proc
  22.         Learning TCP
  23.         Modal Dialog Filter & Delete key
  24.         OLE on the Macintosh
  25.         Omission in Universal Headers: TrackControl()
  26.         Where does data go when no PPCRead is pending?
  27.  
  28.  
  29.  
  30. The Comp.Sys.Mac.Programmer Digest is moderated by Francois Pottier
  31. (pottier@clipper.ens.fr).
  32.  
  33. The digest is a collection of article threads from the internet newsgroup
  34. comp.sys.mac.programmer.  It is designed for people who read c.s.m.p. semi-
  35. regularly and want an archive of the discussions.  If you don't know what a
  36. newsgroup is, you probably don't have access to it.  Ask your systems
  37. administrator(s) for details.  If you don't have access to news, you may
  38. still be able to post messages to the group by using a mail server like
  39. anon.penet.fi (mail help@anon.penet.fi for more information).
  40.  
  41. Each issue of the digest contains one or more sets of articles (called
  42. threads), with each set corresponding to a 'discussion' of a particular
  43. subject.  The articles are not edited; all articles included in this digest
  44. are in their original posted form (as received by our news server at
  45. nef.ens.fr).  Article threads are not added to the digest until the last
  46. article added to the thread is at least two weeks old (this is to ensure that
  47. the thread is dead before adding it to the digest).  Article threads that
  48. consist of only one message are generally not included in the digest.
  49.  
  50. The digest is officially distributed by two means, by email and ftp.
  51.  
  52. If you want to receive the digest by mail, send email to listserv@ens.fr
  53. with no subject and one of the following commands as body:
  54.     help                        Sends you a summary of commands
  55.     subscribe csmp-digest Your Name    Adds you to the mailing list
  56.     signoff csmp-digest            Removes you from the list
  57. Once you have subscribed, you will automatically receive each new
  58. issue as it is created.
  59.  
  60. The official ftp info is //ftp.dartmouth.edu/pub/csmp-digest.
  61. Questions related to the ftp site should be directed to
  62. scott.silver@dartmouth.edu. Currently no previous volumes of the CSMP
  63. digest are available there.
  64.  
  65. Also, the digests are available to WAIS users.  To search back issues
  66. with WAIS, use comp.sys.mac.programmer.src. With Mosaic, use
  67. http://www.wais.com/wais-dbs/comp.sys.mac.programmer.html.
  68.  
  69.  
  70. -------------------------------------------------------
  71.  
  72. >From marcn@cs.uiuc.edu (Marc Nardulli)
  73. Subject: AppleShare programming?
  74. Date: 28 Jun 1994 20:04:09 GMT
  75. Organization: University of Illinois
  76.  
  77. Hello all,
  78.     I am looking for an easy way to allow users to log on to
  79. one of our Mac servers through Appleshare by using their Unix
  80. logon and password.  I have heard that there is some sort
  81. of AppleShare API out there, but I don't know anything 
  82. beyond that.  Does anybody know if the AppleShare API
  83. can be used for the purpose I want it for, and if so,
  84. where I might be able to get it?
  85.                 Thanks a lot,
  86.                                 Marc
  87.  
  88. - ---------------------------------------------
  89. Marc Nardulli        e-mail:marcn@ncsa.uiuc.edu
  90. Phone:               (217) 333-0158
  91. NCSA Mac Team
  92.  
  93. +++++++++++++++++++++++++++
  94.  
  95. >From rmah@panix.com (Robert S. Mah)
  96. Date: Tue, 28 Jun 1994 20:12:33 -0500
  97. Organization: One Step Beyond
  98.  
  99. marcn@cs.uiuc.edu (Marc Nardulli) wrote:
  100.  
  101. > I am looking for an easy way to allow users to log on to one of our Mac
  102. > servers through Appleshare by using their Unix logon and password.  I
  103. > have heard that there is some sort of AppleShare API out there, but I
  104. > don't know anything beyond that.  Does anybody know if the AppleShare
  105. > API can be used for the purpose I want it for, and if so, where I might
  106. > be able to get it?
  107.  
  108. You can purchase the AppleShare development kit from APDA.  I'm not sure
  109. if you can change the username/passwords in the users & groups files
  110. using the kit.
  111.  
  112. Cheers,
  113. Rob
  114. ___________________________________________________________________________
  115. Robert S. Mah  -=-  One Step Beyond  -=-  212-947-6507  -=-  rmah@panix.com
  116.  
  117. +++++++++++++++++++++++++++
  118.  
  119. >From jumplong@aol.com (Jump Long)
  120. Date: 29 Jun 1994 02:48:05 -0400
  121. Organization: America Online, Inc. (1-800-827-6364)
  122.  
  123. In article <rmah-280694201233@rmah.dialup.access.net>, rmah@panix.com
  124. (Robert S. Mah) writes:
  125.  
  126. >marcn@cs.uiuc.edu (Marc Nardulli) wrote:
  127. >
  128. >> I am looking for an easy way to allow users to log on to one of
  129. our Mac
  130. >> servers through Appleshare by using their Unix logon and password.
  131.  I
  132. >> have heard that there is some sort of AppleShare API out there,
  133. but I
  134. >> don't know anything beyond that.  Does anybody know if the
  135. AppleShare
  136. >> API can be used for the purpose I want it for, and if so, where I
  137. might
  138. >> be able to get it?
  139. >
  140. >You can purchase the AppleShare development kit from APDA.  I'm not
  141. sure
  142. >if you can change the username/passwords in the users & groups files
  143. >using the kit.
  144.  
  145. That's the AppleShare 3.0 Developer's Kit from APDA (last time I
  146. looked, it was around $99 US).
  147.  
  148. The UGLibrary interface that part of that kit gives you write access
  149. to the Users & Groups Data File *only* while the file server and
  150. AppleShare Admin (if you're using AppleShare) are *not* running. 
  151. There is not shared write access to the Users & Groups Data File
  152. between the server software and the UGLibrary interface - however,
  153. you can get read access to the Users & Groups Data File at any time.
  154.  
  155. One thing to note that many developers seem to miss...
  156.  
  157. Notice that the name of that SDK is "AppleShare 3.0 Developer's Kit",
  158. not "AppleShare Forever Developer's Kit". That means that it works
  159. with AppleShare 3.0 and AFP file servers based on the AppleShare 3.0
  160. source code.  That includes Macintosh File Sharing, AppleShare Pro,
  161. and AppleShare 4.0.x.  Most of the current AppleShare server code
  162. (and the SDK) is around 4 years old and it is based on the AppleShare
  163. 2.0 and 1.0 server code which is even older.  At some point, Apple
  164. will have to rewrite the server to add new features or to improve its
  165. performance.
  166.  
  167. Since UGLibrary is an object file that you link into your program, by
  168. using that code, you're making your program depend on the current
  169. implementations of the server and of the file format of the Users &
  170. Groups Data File.  If some future version of AppleShare no longer
  171. supports the current format of the Users & Groups Data File, your
  172. program will cease to work.  It not like a Trap where we can keep the
  173. API, but change the implementation beneath.
  174.  
  175. - Jim Luther
  176.  
  177.  
  178. +++++++++++++++++++++++++++
  179.  
  180. >From dnebing@andy.bgsu.edu (bgsuvax)
  181. Date: 29 Jun 1994 14:15:07 GMT
  182. Organization: Bowling Green State University
  183.  
  184. jumplong@aol.com (Jump Long) writes:
  185. > One thing to note that many developers seem to miss...
  186. > Notice that the name of that SDK is "AppleShare 3.0 Developer's Kit",
  187. > not "AppleShare Forever Developer's Kit". That means that it works
  188. > with AppleShare 3.0 and AFP file servers based on the AppleShare 3.0
  189. > source code.  That includes Macintosh File Sharing, AppleShare Pro,
  190. > and AppleShare 4.0.x.  Most of the current AppleShare server code
  191. > (and the SDK) is around 4 years old and it is based on the AppleShare
  192. > 2.0 and 1.0 server code which is even older.  At some point, Apple
  193. > will have to rewrite the server to add new features or to improve its
  194. > performance.
  195.  
  196.   I think that you miss-represent the developer's kit here, Jim.
  197. While the dev kit will work with full blown servers, some of the
  198. implementations do *not* work with system 7 file sharing.  There
  199. are numerous examples of this, the most important is the fact that
  200. on a sys7 server it is not possible to get the list of connected
  201. users (boy what a *big* missing piece, too).
  202.  
  203.   I must admit that I miss this capability.  I miss it so much that
  204. I tried to find out how the File Sharing Monitory does it.  By
  205. setting a trap break on the list manager trap selector (pack
  206. something or another) I was able to see how it was building the
  207. list of mounted volumes, but it uses some other method to build
  208. the list of connected users.
  209.  
  210.   I have even gone as far as trying to find a username for the
  211. connected user stored somewhere in memory (by searching with
  212. Macsbug) but no luck.
  213.  
  214.   As a side note, has anyone out there in net land figured out
  215. how to get this list?
  216.  
  217. Dave
  218.  
  219. ============================================================
  220. Dave Nebinger                    dnebing@andy.bgsu.edu
  221. Network Manager, Biology Dept.   dnebing@opie.bgsu.edu
  222. Bowling Green State University   dnebing@bgsuopie (bitnet)
  223. Bowling Green, OH 43403          #include <std_disclaimer.h>
  224.  
  225.              *THE* alt.sources.mac supporter!
  226.  
  227. +++++++++++++++++++++++++++
  228.  
  229. >From dnebing@andy.bgsu.edu (bgsuvax)
  230. Date: 29 Jun 1994 14:29:26 GMT
  231. Organization: Bowling Green State University
  232.  
  233. As a side note to the discussion of the appleshare
  234. dev kit, I have ported the pascal code which demos
  235. how to use the kit.  If anyone is interested, send
  236. me email.  Note that I will not supply the headers,
  237. you have to have the dev kit to get those (I wouldn't
  238. want to steal that $99 from apda :(
  239.  
  240. Dave
  241.  
  242. ============================================================
  243. Dave Nebinger                    dnebing@andy.bgsu.edu
  244. Network Manager, Biology Dept.   dnebing@opie.bgsu.edu
  245. Bowling Green State University   dnebing@bgsuopie (bitnet)
  246. Bowling Green, OH 43403          #include <std_disclaimer.h>
  247.  
  248.              *THE* alt.sources.mac supporter!
  249.  
  250. +++++++++++++++++++++++++++
  251.  
  252. >From marcn@sparc2.cs.uiuc.edu (Marc Nardulli)
  253. Date: 29 Jun 94 16:30:43 GMT
  254. Organization: University of Illinois at Urbana
  255.  
  256. jumplong@aol.com (Jump Long) writes:
  257.  
  258. >>You can purchase the AppleShare development kit from APDA.  I'm not
  259. >sure
  260. >>if you can change the username/passwords in the users & groups files
  261. >>using the kit.
  262.  
  263. >That's the AppleShare 3.0 Developer's Kit from APDA (last time I
  264. >looked, it was around $99 US).
  265.  
  266. >The UGLibrary interface that part of that kit gives you write access
  267. >to the Users & Groups Data File *only* while the file server and
  268. >AppleShare Admin (if you're using AppleShare) are *not* running. 
  269. >There is not shared write access to the Users & Groups Data File
  270. >between the server software and the UGLibrary interface - however,
  271. >you can get read access to the Users & Groups Data File at any time.
  272.  
  273. You mentioned that there was no way that you can change user's and
  274. passwords with the SDK while the server is running.  What I would
  275. like AppleShare do when a user logons on is to:
  276.  
  277. (1) Check the Users & Groups Data File to see if the correct user
  278.     and password are in there.  If they are then let them in.
  279.  
  280. (2) Check and see if the given user and password would authenticate
  281.     on one of our Unix servers.  If it would then let them on
  282.     and then update the Users & Groups Data File to hold the 
  283.     new user and password (note: user might not be new).
  284.  
  285. Is there any way that this is possible.  From your description of
  286. the AppleShare SDK, it can't.  Is there another way that I am overlooking?
  287. Any help would be appreciated.
  288.     Thanks,
  289.         Marc
  290.     
  291.  
  292. -- 
  293. Marc Nardulli             e:marcn@ncsa.uiuc.edu
  294. C&C Mac Team
  295. National Center for Supercomputing Applications
  296.  
  297. +++++++++++++++++++++++++++
  298.  
  299. >From jumplong@aol.com (Jump Long)
  300. Date: 30 Jun 1994 00:17:05 -0400
  301. Organization: America Online, Inc. (1-800-827-6364)
  302.  
  303. In article <2urvlb$q1f@falcon.bgsu.edu>, dnebing@andy.bgsu.edu
  304. (bgsuvax) writes:
  305.  
  306. > I think that you miss-represent the developer's kit here, Jim.
  307. > While the dev kit will work with full blown servers, some of the
  308. > implementations do *not* work with system 7 file sharing.
  309.  
  310. I didn't mean to misrepresent anything, but you're right, File
  311. Sharing doesn't implement the full AppleShare server control API.  I
  312. guess that's why it isn't called the AppleShare/File Sharing
  313. Developer's Kit :)
  314.  
  315. We could have just said that it was supported by AppleShare only. 
  316. However, I wrote most the original draft of the documentation and the
  317. only reason we even mentioned File Sharing is because I took the time
  318. to try every server control call under File Sharing, and if File
  319. Sharing didn't work the way AppleShare did, document it that way.  I
  320. figured it was better to get most of the interface than to get the
  321. message "that isn't supported" from Apple.
  322.  
  323. > As a side note to the discussion of the appleshare
  324. > dev kit, I have ported the pascal code which demos
  325. > how to use the kit.
  326.  
  327. I'm interested. I wrote the Pascal code and I've ported some of the
  328. code to C myself. During the process, I've found a few things that
  329. may cause problems in the future. If you send me your port, I'll put
  330. in the fixes and return it to you.  How's that for service?
  331.  
  332. - Jim Luther
  333.  
  334.  
  335. ---------------------------
  336.  
  337. >From Chuck Simciak <simciac@ccsmtp.ccf.org>
  338. Subject: Composing and INIT *NARF*
  339. Date: Tue, 28 Jun 1994 20:44:48 GMT
  340. Organization: Cleveland Clinic Foundation
  341.  
  342. I've searched high and low through my THINK C 7.0 manual,
  343. to the tech notes on my BookmarkCD.  I can't find anything
  344. on how to display an icon from an INIT during startup.  And
  345. more importantly how to "animate" the icon.  Everything
  346. I've found rambles about A5 worlds.  Couldn't find it in
  347. the FAQ, err...actually I couldn't find the FAQ.  (where is
  348. it?) Sample code would be tre-cool, particularly in
  349. Symantec THINK C which may or may not be tre-cool.
  350.  
  351. thanx....
  352.  
  353.     Chuck Simciak     !"Aw, forget it.  I'm done.  Here, have some
  354.    wxs@po.cwru.edu    ! dynamite down yer pants."
  355. simciac@ccsmtp.ccf.org!         - Slappy Squirrel
  356. WRUW 91.1 FM Cleveland!
  357.  
  358. +++++++++++++++++++++++++++
  359.  
  360. >From kenlong@netcom.com (Ken Long)
  361. Date: Wed, 29 Jun 1994 04:23:11 GMT
  362. Organization: NETCOM On-line Communication Services (408 261-4700 guest)
  363.  
  364. Connect to ftp ftp.uu.net and scout around to find all the faqs.  I 
  365. believe they are in the /usenet directory.
  366.  
  367. Then, connect to sumex and get the MacFTP list.  Or get it via Gopher 
  368. from MERIT (U. Michigan).  Somewhere in this info you'll find the ftp 
  369. site for alt.sources.mac.  I posted a developer kit, which I got from 
  370. AOL, which contains working shells - I tried them - for a Control Panel, 
  371. an INIT and a patch.
  372.  
  373. There are other ones out there.  Every once in a while, some new 
  374. programmer tries to do an INIT, control panel or a patch.  He has a hard 
  375. time of it.  But when he finally gets it, he gets so tickled with 
  376. himself, that he'll make shells for them and post them.  Those are not 
  377. the only people that post them, but it happens.
  378.  
  379. Some programmers that know how to do them, or do them a little better 
  380. than the kits or shells out there, or to fill a compatability need, will 
  381. also post them.
  382.  
  383. As far as just getting an INIT icon to show up, there are several 
  384. routes.  Get a source project for an init or control panel that already 
  385. does it and see how it's done.  Mark Pilgrim has put out several, such as 
  386. his "Mouse" series.  Jim Walker puts out a "ShowIcon7" source - available 
  387. in his directory, on the U. South Carolina ftp - along with other source.
  388.  
  389. There are INIT and control panel sources which come with Think C, but I 
  390. don't think there's any showInit source there (I don't mess with them much).
  391.  
  392. The original ShowInitIcon source has been updated and is in distribution, 
  393. too.
  394.  
  395. What I do, when I "want to be on the net, but am bored with everything 
  396. I've done so far" is I go down the ftp list and connect to new sites, see 
  397. what they have, get directory indexes, etc.  I've also noticed that many 
  398. colleges have  ftp's that may not be on the Mac ftp list. "ftp.cs.any.edu" 
  399. - a college would have to be very primative to not have a computer 
  400. science class or department (.cs.).
  401.  
  402. Check at ftp.apple.com, too.  Get their file list containing all their 
  403. files and you're bound to find at least ONE init or control panel source 
  404. that shows load icons, that works.
  405.  
  406. But there are plenty of them out there.  Enought to start putting "yet 
  407. another" prefixes on them.
  408.  
  409. -Ken-
  410.  
  411. +++++++++++++++++++++++++++
  412.  
  413. >From WalrathW@rferl.org (Wayne Walrath)
  414. Date: Thu, 30 Jun 1994 15:52:01 +0100
  415. Organization: RFE/RL Inc.
  416.  
  417. In article <1994Jun28.204448.5858@bme.ri.ccf.org>, Chuck Simciak
  418. <simciac@ccsmtp.ccf.org> wrote:
  419.  
  420. > I've searched high and low through my THINK C 7.0 manual,
  421. > to the tech notes on my BookmarkCD.  I can't find anything
  422. > on how to display an icon from an INIT during startup.  And
  423. > more importantly how to "animate" the icon.  Everything
  424. > I've found rambles about A5 worlds.  Couldn't find it in
  425. > the FAQ, err...actually I couldn't find the FAQ.  (where is
  426. > it?) Sample code would be tre-cool, particularly in
  427. > Symantec THINK C which may or may not be tre-cool.
  428. > thanx....
  429. >     Chuck Simciak     !"Aw, forget it.  I'm done.  Here, have some
  430. >    wxs@po.cwru.edu    ! dynamite down yer pants."
  431. > simciac@ccsmtp.ccf.org!         - Slappy Squirrel
  432. > WRUW 91.1 FM Cleveland!
  433.  
  434. Look for ShowIcon7 at umich
  435.  
  436. path: mirror/umich-mac/development/source/showicon7.sit.hqx
  437.  
  438. Here's some info from the .c file.
  439.  
  440.  
  441. >    ShowIcon7.c          ShowINIT compatible routine that shows 'ICN#' and 'iclx'
  442. >flavor icons.     For use by all INITs in System 7 and beyond.          This code
  443. >is based on Patrick C. Beard's ShowIconFamily     by Patrick C. Beard,
  444. >which in turn was derived from the     original ShowInit by Paul Mercer,
  445. >Darin Adler,     Paul Snively, and Steve Capps.          Modified by James W.
  446. >Walker for compatibility with IconWrap 1.2,     for use as a separate code
  447. >resource, and to use the new System 7     icon-drawing routines.  This code
  448. >is in the public domain.          Addresses for James W. Walker:
  449. >76367,2271@compuserve.com or         walkerj@math.scarolina.edu
  450.  
  451. As for animating it, I presume that isn't too hard to do using different
  452. icons. I've never used this code so I can't really comment.
  453.  
  454. -wayne
  455.  
  456. __ __
  457. Wayne Walrath
  458. walrathw@rferl.org
  459.  
  460. ---------------------------
  461.  
  462. >From EJ_Campbell@onenet.com (EJ Campbell)
  463. Subject: FSSpec of own INIT
  464. Date: 29 Jun 1994 18:31:18 -0000
  465. Organization: (none)
  466.  
  467. I want to open the data fork during startup of an INIT I am writing.  Does
  468. anyone know how to do this??  I want to be able to find it know matter where
  469. it is in the System Folder.  I just need a rutine that will return the FSSpec
  470. of my INIT.  Can this be done?? 
  471.  
  472. Thanks
  473.   -EJ-
  474. ***
  475. The opinions expressed above are those of the individual
  476. ***
  477. Sent from the founding system of the OneNet Member Network, OneNet Los Altos
  478. OneNet is a global network of FirstClass based communications servers.
  479. For more information, contact OneNet at:
  480. modem:415-948-1349, voice:303-444-2205, email:onenet@onenet.com
  481. ***
  482.  
  483. +++++++++++++++++++++++++++
  484.  
  485. >From resnick@uiuc.edu (Pete Resnick)
  486. Date: Thu, 30 Jun 1994 14:14:27 -0500
  487. Organization: University of Illinois at Urbana-Champaign
  488.  
  489. In article <-1829580993.32366611@onla.onenet.com>, EJ_Campbell@onenet.com wrote:
  490.  
  491. >I want to open the data fork during startup of an INIT I am writing.  Does
  492. >anyone know how to do this??  I want to be able to find it know matter where
  493. >it is in the System Folder.  I just need a rutine that will return the FSSpec
  494. >of my INIT.  Can this be done?? 
  495.  
  496. Someone should put this code in the FAQ. Upon entering the INIT code,
  497. CurResFile will be the resource file. Pass the result of CurResFile to the
  498. following:
  499.  
  500. OSErr RefNumToFSSpec(short refNum, FSSpecPtr fileSpec)
  501. {
  502.     OSErr errCode;
  503.     FCBPBRec fcb;
  504.     Str63 tempString;
  505.     
  506.     fcb.ioCompletion = nil;
  507.     fcb.ioNamePtr = tempString;
  508.     fcb.ioVRefNum = 0;
  509.     fcb.ioRefNum = refNum;
  510.     fcb.ioFCBIndx = 0L;
  511.     if((errCode = PBGetFCBInfoSync(&fcb)) == noErr) {
  512.         if(TrapAvailable(_Gestalt) &&
  513.            HasGestaltAttr(gestaltFSAttr, gestaltHasFSSpecCalls)) {
  514.             errCode = FSMakeFSSpec(fcb.ioFCBVRefNum,
  515.                                    fcb.ioFCBParID,
  516.                                    tempString,
  517.                                    fileSpec);
  518.         } else {
  519.             fileSpec->vRefNum = fcb.ioFCBVRefNum;
  520.             fileSpec->parID = fcb.ioFCBParID;
  521.             BlockMove(tempString, fileSpec->name, tempString[0]  +  1);
  522.         }
  523.     }
  524.     return(errCode);
  525. }
  526.  
  527. Just in case you are curious:
  528.  
  529. Boolean TrapAvailable(short theTrap)
  530. {
  531.     long trapAddress;
  532.     
  533.     if(theTrap & 0x0800) {
  534.         trapAddress = GetOSTrapAddress(theTrap);
  535.     } else {
  536.         if(theTrap & 0x0200) {
  537.             trapAddress = GetToolTrapAddress(_InitGraf);
  538.             if(trapAddress == GetToolTrapAddress(_InitGraf+0x0200))
  539.                 return(false);
  540.         }
  541.         trapAddress = GetToolTrapAddress(theTrap);
  542.     }
  543.     return(trapAddress != GetToolTrapAddress(_Unimplemented));
  544. }
  545.  
  546. #pragma parameter __A0 GestaltIL(__D0)
  547. long GestaltIL(long selector) = {0xA1AD,0x6702,0x91C8};
  548. #define HasGestaltAttr(x,y) (GestaltIL(x) & (1 << y))
  549.  
  550. pr
  551. -- 
  552. Pete Resnick        (...so what is a mojo, and why would one be rising?)
  553. Doctoral Student - Philosophy Department, Gregory Hall, UIUC
  554. System manager - Cognitive Science Group, Beckman Institute, UIUC
  555. Internet: resnick@uiuc.edu
  556.  
  557. ---------------------------
  558.  
  559. >From jcaufiel@cln.etc.bc.ca (Jannice Caufield)
  560. Subject: Help: DragGrayRgn() Action Proc
  561. Date: Tue, 28 Jun 1994 14:35:39 GMT
  562. Organization: Education Technology Centre of B.C.
  563.  
  564.  
  565. I am attempting to use DragGrayRgn() with an actionProc which
  566. updates various graphics as the mouse enters their region.
  567. Specifically, I use CopyBits() and CopyMask() to update the
  568. graphics.  I am attempting to achieve a result similar to the
  569. Finder's highlighting of screen icons as other icons are dragged
  570. across them.
  571.  
  572. My problem is that it appears as though DragGrayRgn() calls
  573. InvertRgn() to update the drag region.  My calls to CopyBits()
  574. and CopyMask() seem to interfere with the proper execution of
  575. InvertRgn() and images of the drag region are left on my graphics
  576. as the drag region leaves the graphic.
  577.  
  578. Is there anyone who can offer suggestions about how to get
  579. around this problem?
  580.  
  581. Brent Taylor <jcaufiel@cln.etc.bc.ca>
  582.  
  583.  
  584. +++++++++++++++++++++++++++
  585.  
  586. >From mgr@aggroup.aggroup.com (Mike Russell)
  587. Date: Tue, 28 Jun 1994 15:59:04 -0800
  588. Organization: the ag group, inc.
  589.  
  590. In article <1994Jun28.143539.25992@news.etc.bc.ca>, jcaufiel@cln.etc.bc.ca
  591. (Jannice Caufield) wrote:
  592.  
  593. > I am attempting to use DragGrayRgn()
  594. ...
  595. > My problem is that it appears as though DragGrayRgn() calls
  596. > InvertRgn() to update the drag region.
  597.  
  598. > Is there anyone who can offer suggestions about how to get
  599. > around this problem?
  600.  
  601. Here's one way to do it.
  602. In your actionproc, XOR out the region before/after you do your graphics.
  603.  
  604.         /* hide the drag outline */
  605.  
  606.         GetPenState(&ps);
  607.         PenMode(notPatXor);
  608.         PenPat(pat_gray);
  609.         FrameRgn(drag_region);
  610.  
  611.   <do your hilighting or whatever>
  612.         
  613.         /* restore the drag region and pen state */
  614.         FrameRgn(drag_region);
  615.   SetPenState(&ps);
  616.  
  617. +++++++++++++++++++++++++++
  618.  
  619. >From Jens Alfke <jens_alfke@powertalk.apple.com>
  620. Date: Wed, 29 Jun 1994 21:59:59 GMT
  621. Organization: Apple Computer
  622.  
  623. Brent Taylor, jcaufiel@cln.etc.bc.ca writes:
  624. > I am attempting to use DragGrayRgn() with an actionProc which
  625. > updates various graphics as the mouse enters their region.
  626. > Specifically, I use CopyBits() and CopyMask() to update the
  627. > graphics.  I am attempting to achieve a result similar to the
  628. > Finder's highlighting of screen icons as other icons are dragged
  629. > across them.
  630.  
  631. Consider using the Drag Manager. It takes care of virtually all of the work
  632. of animating the gray outline, including the tricky bits like updating it
  633. properly after things are drawn over it. And of course you get all kinds of
  634. other benefits as well...
  635. You can get it from ftp.apple.com.
  636.  
  637. --Jens Alfke
  638.   jens_alfke@powertalk              Rebel girl, rebel girl,
  639.             .apple.com              Rebel girl you are the queen of my world
  640.  
  641. ---------------------------
  642.  
  643. >From rosner@aol.com (Rosner)
  644. Subject: Learning TCP
  645. Date: 19 Jun 1994 20:59:03 -0400
  646. Organization: America Online, Inc. (1-800-827-6364)
  647.  
  648. I want to learn how to program tcp applications. I am especially in
  649. need of some books on the subject specific to the macintosh. As far
  650. as I can see there are none on the subject. Does anyone know? Are
  651. there any ftp sites where i can download sample code? And do I need
  652. more libraries and includes to program tcp apps for Think C?
  653. -dave
  654.  
  655. +++++++++++++++++++++++++++
  656.  
  657. >From Mark Hanrek <hanrek@cts.com>
  658. Date: Mon, 20 Jun 1994 05:30:45 GMT
  659. Organization: The Information Workshop
  660.  
  661. In article <2u2pkn$3gt@search01.news.aol.com> Rosner, rosner@aol.com
  662. writes:
  663.  
  664. > I want to learn how to program tcp applications. I am especially in
  665. > need of some books on the subject specific to the macintosh. As far
  666. > as I can see there are none on the subject. Does anyone know? Are
  667. > there any ftp sites where i can download sample code? And do I need
  668. > more libraries and includes to program tcp apps for Think C?
  669.  
  670.  
  671. The way I learned is an excellent way.
  672.  
  673. Grab the HyperCard stacks you find that do TCP related things in the
  674. /comm subsection of sumex and umich archives.
  675.  
  676. There you will find it truly simple to understand what you need to do to
  677. "make things go" with TCP.  In addition, it is in an environment that is
  678. easy to experiment in.
  679.  
  680. Then when you go to utilize it in your C application, you'll know exactly
  681. what to do, and when.
  682.  
  683. I can't imagine a simpler way to learn than this.  If you find a way, I'd
  684. like to know about it.
  685.  
  686.  
  687. Hope this helps.
  688.  
  689. Mark Hanrek
  690.  
  691. +++++++++++++++++++++++++++
  692.  
  693. >From jk@sparc13.cs.uiuc.edu (J Kreibich)
  694. Date: 20 Jun 94 16:02:04 GMT
  695. Organization: University of Illinois at Urbana
  696.  
  697.  
  698. >I want to learn how to program tcp applications. I am especially in
  699. >need of some books on the subject specific to the macintosh. As far
  700. >as I can see there are none on the subject. Does anyone know? 
  701.  
  702.   There are no "books" on how to do IP stuff with a Macintosh besides
  703.   the MacTCP Programmers Guide, which is avaiable via anon ftp from
  704.   seeding.apple.com.  That will teach you how to make the TCP calls to
  705.   MacTCP, but assumes you know quite a bit about networking already.
  706.   Although many will argue, I found the easiest way to learn MacTCP was
  707.   to understand the networking, and then just look in the guide as to
  708.   what calls do what.  To learn more about basic TCP/IP networking, I
  709.   would recoment "Internetworking with TCP/IP, Vol. 1" by Comer.  This
  710.   will teach you more than you need to know about how IP networks work.
  711.   With this basic understanding, the Programmers Guide makes a lot more
  712.   sense (Assuming you already understand Mac device drivers, interrupt
  713.   call-back code, etc, but that is just part of knowing how to program
  714.   a Mac and has little specifically to do with networking).
  715.  
  716. >Are
  717. >there any ftp sites where i can download sample code? And do I need
  718. >more libraries and includes to program tcp apps for Think C?
  719.  
  720.   Since everything is through the device manager, you will not need any
  721.   libs, but there are 4 or 5 includes you can use (also on seeding).
  722.   I got to pissed off at Apple's and made my own, however.
  723.  
  724.  -j
  725.  
  726. --
  727. Jay Kreibich       University of Illinois, U/C      Undergrad Computer Science
  728. - ----------------------------------------------------------------------------
  729.     "You think that I want to be understood..."  -They Might Be Giants
  730. - ----------------------------------------------------------------------------
  731. <a href="http://delphi.beckman.uiuc.edu/people/jay/main.html">My Home Page</a>
  732.  
  733. +++++++++++++++++++++++++++
  734.  
  735. >From andrew@gmvt4.concordia.ca (Andrew Francis)
  736. Date: Mon, 20 Jun 1994 17:59:42 GMT
  737. Organization: Faculty of Commerce, Concordia University
  738.  
  739. In article <jk.772128124@sparc13.cs.uiuc.edu> jk@sparc13.cs.uiuc.edu
  740. (J Kreibich) writes:
  741.  
  742. >>I want to learn how to program tcp applications. I am especially in
  743. >>need of some books on the subject specific to the macintosh. As far
  744. >>as I can see there are none on the subject. Does anyone know? 
  745.  
  746. >  There are no "books" on how to do IP stuff with a Macintosh besides
  747. >  the MacTCP Programmers Guide, which is avaiable via anon ftp from
  748. >  seeding.apple.com.  That will teach you how to make the TCP calls to
  749. >  MacTCP, but assumes you know quite a bit about networking already.
  750. >  Although many will argue, I found the easiest way to learn MacTCP was
  751. >  to understand the networking, and then just look in the guide as to
  752. >  what calls do what.  To learn more about basic TCP/IP networking, I
  753. >  would recoment "Internetworking with TCP/IP, Vol. 1" by Comer.  This
  754. >  will teach you more than you need to know about how IP networks work.
  755. >  With this basic understanding, the Programmers Guide makes a lot more
  756. >  sense (Assuming you already understand Mac device drivers, interrupt
  757. >  call-back code, etc, but that is just part of knowing how to program
  758. >  a Mac and has little specifically to do with networking).
  759.  
  760.    There is an article in I believe Develop 5 by Steven Faulkenburg
  761. called MacTCP Cookbook. It explains how MacTCP works by explaining 
  762. the construction of NewsWatcher. He also included code to make life
  763. easier for novice programmers.
  764.    An excellent book on TCP/IP programming is the Richard Steven's book
  765. "Unix Network Programming."
  766.  
  767. >>Are there any ftp sites where i can download sample code? And do I need
  768. >>more libraries and includes to program tcp apps for Think C?
  769. >
  770. >  Since everything is through the device manager, you will not need any
  771. >  libs, but there are 4 or 5 includes you can use (also on seeding).
  772. >  I got to pissed off at Apple's and made my own, however.
  773.  
  774.    Perhaps you want to look at GUSI ( I believe it is at nic.switch.ch).
  775. It supports the TCP/IP API. Also I believe someone has finally ported a
  776. version over to Think C.
  777.  
  778. --Andrew
  779.  
  780. +++++++++++++++++++++++++++
  781.  
  782. >From sandvik@newton.apple.com (Kent Sandvik)
  783. Date: Mon, 20 Jun 1994 23:51:27 GMT
  784. Organization: Dharma Bums, Inc.
  785.  
  786. > In article <2u2pkn$3gt@search01.news.aol.com> Rosner, rosner@aol.com
  787. > writes:
  788. > > I want to learn how to program tcp applications. I am especially in
  789. > > need of some books on the subject specific to the macintosh. As far
  790. > > as I can see there are none on the subject. Does anyone know? Are
  791. > > there any ftp sites where i can download sample code? And do I need
  792. > > more libraries and includes to program tcp apps for Think C?
  793.  
  794. You could also take a look at existing PD source code, such as 
  795. NewsWatcher and NCSA Telnet to see how the various MacTCP calls
  796. are used. I'm sure sumex-aim and similar places have the sources.
  797. Same with the MacDTS TCP samples, check out ftp.apple.com for 
  798. such ones.
  799.  
  800. Cheers, Kent
  801.  
  802. -- 
  803. Kent Sandvik
  804. sandvik@apple.com. ALink: KSAND -- Private activities on the net.
  805.  
  806. +++++++++++++++++++++++++++
  807.  
  808. >From howardk@cyberstore.ca (Howard Katz)
  809. Date: Mon, 20 Jun 1994 21:34:56 -0800
  810. Organization: Enigmatic Software
  811.  
  812. In article <CrpJBJ.GH4@newsflash.concordia.ca>, andrew@gmvt4.concordia.ca
  813. (Andrew Francis) wrote:
  814.  
  815. >    There is an article in I believe Develop 5 by Steven Faulkenburg
  816. > called MacTCP Cookbook. It explains how MacTCP works by explaining 
  817. > the construction of NewsWatcher. He also included code to make life
  818. > easier for novice programmers.
  819. >    An excellent book on TCP/IP programming is the Richard Steven's book
  820. > "Unix Network Programming."
  821.  
  822. Actually, it's Develop Number 6. We'll give you a cigar anyway.
  823.  
  824. I also recommend Steven's "TCP/IP Illustrated, Volume 1" from
  825. Addison-Wesley.
  826.  
  827. More, much more, than you ever wanted to know.
  828.  
  829. Howard Katz
  830.  
  831. +++++++++++++++++++++++++++
  832.  
  833. >From poorman@convex.com (Peter W. Poorman)
  834. Date: 21 Jun 94 20:36:59 GMT
  835. Organization: CONVEX Computer Corporation, Richardson, TX USA
  836.  
  837. In case in got overlooked for it's obviousness -- you need the MacTCP 
  838. programmer's documentation.  It's FTP-able from seeding.apple.com.
  839.  
  840. -- Pete
  841.    poorman@convex.com
  842.  
  843. +++++++++++++++++++++++++++
  844.  
  845. >From jf1@stirling.ac.uk (Mr Jonathon Fletcher)
  846. Date: 24 Jun 1994 15:05:25 GMT
  847. Organization: University of Stirling
  848.  
  849. Peter W. Poorman (poorman@convex.com) wrote:
  850. : In case in got overlooked for it's obviousness -- you need the MacTCP 
  851. : programmer's documentation.  It's FTP-able from seeding.apple.com.
  852.  
  853. Can anyone help me with this - the link from seeding is so slow that I
  854. get timed out after about 40K (of a 717K ascii file). Is there anywhere
  855. else I can get the documentation, or can anyone send it to me ?
  856.  
  857. The files I'm after are:
  858. seeding.apple.com
  859. /ess/public/mactcp/MacTCP_Dev_Kit/MacTCP_Prog_Guide.hqx
  860. /ess/public/mactcp/MacTCP_Dev_Kit/MacTCP_Prog_Guide.idx.hqx
  861.  
  862. Sincerely,
  863.  
  864. -Jon
  865.  
  866. --
  867.   Jonathon Fletcher, Information Services, Stirling University. 
  868.   j.fletcher@stirling.ac.uk (X400: "/S=jf1/O=stirling/PRMD=uk.ac/C=gb/")
  869.  
  870.  
  871. +++++++++++++++++++++++++++
  872.  
  873. >From tzs@u.washington.edu (Tim Smith)
  874. Date: 30 Jun 1994 00:07:42 GMT
  875. Organization: University of Washington School of Law, Class of '95
  876.  
  877. Mr Jonathon Fletcher <jf1@stirling.ac.uk> wrote:
  878. >Can anyone help me with this - the link from seeding is so slow that I
  879. >get timed out after about 40K (of a 717K ascii file). Is there anywhere
  880. >else I can get the documentation, or can anyone send it to me ?
  881. >
  882. >The files I'm after are:
  883. >seeding.apple.com
  884. >/ess/public/mactcp/MacTCP_Dev_Kit/MacTCP_Prog_Guide.hqx
  885. >/ess/public/mactcp/MacTCP_Dev_Kit/MacTCP_Prog_Guide.idx.hqx
  886.  
  887. I just grabbed them with no problem, and then downloaded them to my
  888. Mac.  Normally, I'd now delete them from my account here, but I'll
  889. keep 'em around for a couple days.  Try ftp'ing them from here--maybe
  890. the link will be faster.  They are in public/tzs on ftp.u.washington.edu.
  891.  
  892. --Tim Smith
  893.  
  894. ---------------------------
  895.  
  896. >From jbeeghly@u.washington.edu (Jeff Beeghly)
  897. Subject: Modal Dialog Filter & Delete key
  898. Date: 30 Jun 1994 07:12:06 GMT
  899. Organization: University of Washington
  900.  
  901.  
  902. DISCLAIMER:  I have been programming in 'C' for several years, but I am 
  903. new to Mac programming (although I do know how to program Windows & GEM).
  904. ALSO, I would like code not specific to sys 7 (ege.  must be able to run 
  905. under sys 6.5 as well).
  906.  
  907. In a text field within a modal dialog box, let's say I have the string, 
  908. "1234567".  If I move the cursor between the '4' and the '5' characters, 
  909. then press the DELETE key (which is actually the BACKSPACE key), the text 
  910. string becomes "123567".
  911.  
  912. If I had pressed the DEL key (located just below the HELP key on my extended 
  913. apple keyboard) instead, I would expect to get "123467"... hence, removing 
  914. the '5' character and shifting everything over to the right by one.
  915.  
  916. In actuallity, I get "1234 567", which seems very strange, but when I 
  917. tried this with several comercial apps out there, the same behaviour occured.
  918.  
  919. So I was wondering.... what would be the easiest way to achieve what I 
  920. want with a dialog filter?
  921.  
  922. Right now I have something like....
  923.  
  924. pascal Boolean DLOGFilter(theDialog, e, iPtr)
  925. DialogPtr    theDialog;
  926. EventRecord    *e;
  927. short        *iPtr;
  928. {
  929.     short    itemType;
  930.     Rect    itemRect;
  931.     Handle    item;
  932.     Str255    tempStr;
  933.     char    theChar;
  934.  
  935.  
  936.     if(e->what == keyDown || e->what == autoKey)
  937.     {
  938.         theChar = (e->message & charCodeMask);
  939.         if(theChar == kDeleteKey) //kDeleteKey = 127
  940.         {
  941.             GetDItem(theDialog, TEXT_ITEM, &itemType, &item,
  942.                 &itemRect);
  943.             GetIText(item, tempStr);
  944.             //put in routine here
  945.             return( TRUE );
  946.         }
  947.     }
  948. }
  949.  
  950.  
  951. the routine could do something like this:
  952.  
  953. 1) Find the location of the cursor.
  954. 2) move every character from that location to the end of the string over 
  955. by one.
  956.  
  957. for(i=start; i<tempStr[0]; i++)
  958. {
  959.     tempStr[i] = tempStr[i + 1];
  960. }
  961. tempStr[0]--;
  962.  
  963.  
  964. I would like to know:
  965.  
  966. 1) Is this the propper way to do this?
  967. 2) How do I determine where the cursor (or the begining of the selected 
  968. text) is at?
  969.  
  970. +++++++++++++++++++++++++++
  971.  
  972. >From aep@world.std.com (Andrew E Page)
  973. Date: Thu, 30 Jun 1994 13:35:24 GMT
  974. Organization: The World Public Access UNIX, Brookline, MA
  975.  
  976.  
  977.    I think that the first question that I'd like to ask is why
  978. you need to do the editing yourself instead of letting ModalDialog's
  979. default action do it for you?  If you return FALSE after your keyDown
  980. event ModalDialog continues to process the event and delete the
  981. character for you.  
  982.  
  983.    If you insist on editing the field yourself be aware that the
  984. Dialog manger maintains a single TERec for all the edit field in
  985. a dialog, and stores it in a field accessible by casing the DialogPtr
  986. as a DialogPeek.
  987.  
  988. -- 
  989. Andrew E. Page   (Warrior Poet) |   Decision and Effort The Archer and Arrow
  990. Mac Consultant                  |     The difference between what we are
  991. Macintosh and DSP Technology    |           and what we want to be.
  992.  
  993. +++++++++++++++++++++++++++
  994.  
  995. >From dubois@primate.wisc.edu (Paul DuBois)
  996. Date: 30 Jun 1994 13:48:37 -0500
  997. Organization: Castra Parvulorum
  998.  
  999. >From article <Cs7pr1.6En@world.std.com>, by aep@world.std.com (Andrew E Page):
  1000. >    I think that the first question that I'd like to ask is why
  1001. > you need to do the editing yourself instead of letting ModalDialog's
  1002. > default action do it for you?  If you return FALSE after your keyDown
  1003. > event ModalDialog continues to process the event and delete the
  1004. > character for you.  
  1005.  
  1006. Read the original message again.  He got the undesired behavior by
  1007. letting let the toolbox process the DEL key (different than the DELETE
  1008. key).  I.e., the default action he got is not what he wants.
  1009. -- 
  1010. Paul DuBois
  1011. dubois@primate.wisc.edu
  1012.  
  1013. +++++++++++++++++++++++++++
  1014.  
  1015. >From Jens Alfke <jens_alfke@powertalk.apple.com>
  1016. Date: Thu, 30 Jun 1994 23:58:35 GMT
  1017. Organization: Apple Computer
  1018.  
  1019. Jeff Beeghly, jbeeghly@u.washington.edu writes:
  1020. > So I was wondering.... what would be the easiest way to achieve what I 
  1021. > want with a dialog filter?
  1022.  
  1023. Don't mess with the text directly; let TextEdit do it for you:
  1024.  
  1025. if selStart != selEnd
  1026.     TEKey(kDeleteKey);  // 0x08
  1027. else if( selEnd == teLength-1 )
  1028.     SysBeep(3);  // End of text
  1029. else
  1030.     TEKey(kRightArrowKey);
  1031.     TEKey(kDeleteKey);
  1032. end if
  1033.  
  1034. There's also a freeware extension that patches TextEdit to support the
  1035. forward-delete key. I think it's just called "Forward Delete".
  1036.  
  1037. --Jens Alfke
  1038.   jens_alfke@powertalk              Rebel girl, rebel girl,
  1039.             .apple.com              Rebel girl you are the queen of my world
  1040.  
  1041. +++++++++++++++++++++++++++
  1042.  
  1043. >From bb@lightside.com (Bob Bradley)
  1044. Date: Thu, 30 Jun 1994 09:50:42 -0800
  1045. Organization: Lightside, Inc.
  1046.  
  1047. I think the original poster is trying to implement the forward-delete key
  1048. which I don't think ModalDialog handles normally.
  1049.  
  1050. In your ModalDialog Filter, when you detect the forward-delete key being
  1051. pressed, get the textH field of the DialogRecord (textH is a handle to the
  1052. TextEdit record used for the dialog). then you can use the selStart and
  1053. selEnd fields of the TERec to determine what it selected or where the
  1054. insertion point is (ie if selStart == selEnd, nothing is selection and you
  1055. have the insertion point). The text is stored i the hText field of the
  1056. TERec so you can use that modify the actual text.
  1057.  
  1058. You may want to use the Script Manager cause you may be working with a
  1059. non-Roman script where the text may go right to left or characters may be
  1060. larger than one byte.
  1061.  
  1062. ---------------------------
  1063.  
  1064. >From mhteas@aol.com (Mhteas)
  1065. Subject: OLE on the Macintosh
  1066. Date: 23 Jun 1994 21:19:05 -0400
  1067. Organization: America Online, Inc. (1-800-827-6364)
  1068.  
  1069. Help!  I'm a Mac veteran trying to use OLE on the Macintosh.  I'm
  1070. currently hampered both by the lack of solid documentation and by the
  1071. provided sample code which is less than clear.  I do need to use OLE,
  1072. this is non-negotiable with my client.  So...
  1073.  
  1074. Is there anyone who's implemented OLE linking on the Macintosh that
  1075. can provide advice?
  1076.  
  1077. I've tried emailing, and leaving messages for Microsoft support and
  1078. evangelism people and leaving messages on their WINOBJ forum on
  1079. Compu$erve all with little result
  1080.  
  1081. If you can assist with advice, working sample code, or the voice of
  1082. experience, I can be reached at the email address below.
  1083.  
  1084. Many thanks,
  1085.  
  1086. Malcolm Teas
  1087. Teas Technology
  1088. mhteas@aol.com
  1089.  
  1090. +++++++++++++++++++++++++++
  1091.  
  1092. >From d88-jwa@dront.nada.kth.se (Jon Wdtte)
  1093. Date: 24 Jun 1994 08:53:58 GMT
  1094. Organization: The Royal Institute of Technology
  1095.  
  1096. In <2udca9$odt@search01.news.aol.com> mhteas@aol.com (Mhteas) writes:
  1097.  
  1098. >Is there anyone who's implemented OLE linking on the Macintosh that
  1099. >can provide advice?
  1100.  
  1101. No.
  1102.  
  1103. Basically, OLE sucks. OpenDoc will be out Any Year Now and has a much
  1104. clearer and better usage model and content model. If you support OpenDoc,
  1105. Apple will provide interchangeability with OLE 2.
  1106.  
  1107. Some reasons why OpenDoc is cooler than OLE 2:
  1108.  
  1109. - OpenDoc does click-and-type however deep you want.
  1110.   OLE has you to click three times to get at a text item in a chart
  1111.   in a text item.
  1112.  
  1113. - OpenDoc is backed by several large industry vendors, and has freely
  1114.   available source code as an OPEN standard.
  1115.   OLE is backed/kept by MS, and you can't get source.
  1116.  
  1117. - OpenDoc builds on the Bento storage format.
  1118.   OLE doesn't (and doesn't even have anything similar)
  1119.  
  1120. - OpenDoc lets you have non-rectangular part frames.
  1121.   OLE doesn't.
  1122.  
  1123. - OpenDoc lets you partly overlay part frames a la overlapping windows
  1124.   and also have transparent parts.
  1125.   OLE doesn't.
  1126.  
  1127. I could be wrong on one of these, but I don't think so.
  1128. Basically, OLE is, as anything operating-system-like MS does,
  1129. substandard and a crock. (Well, NT might actually be a good
  1130. server platform, but apart from that)
  1131.  
  1132. Cheers,
  1133.  
  1134.  
  1135.                     / h+
  1136. -- 
  1137.  -- Jon W{tte, h+@nada.kth.se, Mac Software Engineer Deluxe --
  1138.  
  1139.    What we need is a good GNU [...] licence manager implementation.
  1140.                      -- Raphael Manfredi
  1141.  
  1142. +++++++++++++++++++++++++++
  1143.  
  1144. >From Aaron Bratcher <aaron_bratcher@fpm.uchicago.edu>
  1145. Date: Fri, 24 Jun 1994 18:22:46 GMT
  1146. Organization: University of Chicago
  1147.  
  1148. In article <2ue6v6$fs3@news.kth.se> Jon W!tte, d88-jwa@dront.nada.kth.se writes:
  1149. >Basically, OLE sucks. OpenDoc will be out Any Year Now and has a much
  1150. >clearer and better usage model and content model. If you support OpenDoc,
  1151. >Apple will provide interchangeability with OLE 2.
  1152.  
  1153. Something I just read in "Client/Server Today" in the June 94 issue on page 84:
  1154.  
  1155.      If the Apple/IBM/WordPerfect/Novell/et al. OpenDoc spec wins the day, then you will see truly cross-platform, plug-and-play componentware sprouting up all over the place. But if Microsoft's OLE wins instead, then all you will ever have is MS Office left to buy, with some ISV stragglers
  1156. feeding off the crumbs from Big Bill's groaning board.
  1157.      Please, forget all the Microsoft OLE marketing hype; surely you are aware that "Open" Microsoft just tried to force software developers to sign a non-disclosure agreement that said if they developed for OLE, they were forbidden from developing for OpenDoc. (Note: It just backed down from this
  1158. silliness.)
  1159.      Bear in mind, Microsoft is facing possible Federal Trace Commission anti-trust action. If it dares to pull this type of stunt under these circumstances, do you think Microsoft will give up control of both the desktop OS and the applications willingly?
  1160.  
  1161. /* endquote */
  1162.  
  1163. I'm sorry, but that makes me want to toss all the Microsoft products I have (I only have 1 product of theirs I use and I regret it) and do my best to make things that will directly compete against them using the OpenDoc spec.
  1164.  
  1165. - ------------------------------------------------------------------------
  1166.      MegaWatt                         |    _____  _____  _____   _   _ 
  1167.                                       |   |__  / | ___ || ___ \ | | | |
  1168. AKA  Aaron L. Bratcher                |     / /  | |_| || |_/ / | | | |
  1169.      University of Chicago            |    / /__ | ___ ||  __/  |_| |_|
  1170.      aaron_bratcher@fpm.uchicago.edu  |   |_____||_| |_||_|     (_) (_)
  1171. - ------------------------------------------------------------------------
  1172.  
  1173. +++++++++++++++++++++++++++
  1174.  
  1175. >From Jens Alfke <jens_alfke@powertalk.apple.com>
  1176. Date: Fri, 24 Jun 1994 18:53:56 GMT
  1177. Organization: Apple Computer
  1178.  
  1179. Jon W!tte, d88-jwa@dront.nada.kth.se writes:
  1180. <lots of nice things about OpenDoc and savage things about OLE>
  1181.  
  1182. Thanks, Jon! Couldn't have said it better myself. That 8100AV will be in the
  1183. mail to you shortly.
  1184.  
  1185. Incidentally, if anyone would like more info about OpenDoc, there are white
  1186. papers and such available by anon ftp from cil.org.
  1187.  
  1188. --Jens Alfke
  1189.   jens_alfke@powertalk              Rebel girl, rebel girl,
  1190.             .apple.com              Rebel girl you are the queen of my world
  1191.  
  1192. +++++++++++++++++++++++++++
  1193.  
  1194. >From ejohnson@netcom.com (Eric Johnson)
  1195. Date: Fri, 24 Jun 1994 20:26:48 GMT
  1196. Organization: NETCOM On-line Communication Services (408 261-4700 guest)
  1197.  
  1198. d88-jwa@dront.nada.kth.se (Jon Wdtte) writes:
  1199.  
  1200. >- OpenDoc builds on the Bento storage format.
  1201. >  OLE doesn't (and doesn't even have anything similar)
  1202.  
  1203. I believe this is false.  OLE does have something similar, its known
  1204. as the structured storage model.  It allows one to store files within
  1205. a file.
  1206.  
  1207. -Eric
  1208. -- 
  1209. Eric E Johnson                    ejohnson@netcom.netcom.com
  1210. "I need a kill file for TV" - Jim Browne while watching COPS
  1211.  
  1212. +++++++++++++++++++++++++++
  1213.  
  1214. >From howard@netcom.com (Howard Berkey)
  1215. Date: Sat, 25 Jun 1994 05:43:25 GMT
  1216. Organization: Netcom Online Communications Services (408-241-9760 login: guest)
  1217.  
  1218. In article <1994Jun24.185356.19583@gallant.apple.com> Jens Alfke <jens_alfke@powertalk.apple.com> writes:
  1219. >Jon W!tte, d88-jwa@dront.nada.kth.se writes:
  1220. ><lots of nice things about OpenDoc and savage things about OLE>
  1221. >
  1222. >Thanks, Jon! Couldn't have said it better myself. That 8100AV will be in the
  1223. >mail to you shortly.
  1224. >
  1225.  
  1226. Careful!  The way I've heard Swedish ad laws explained, you're obliged
  1227. to give him one now :-) :-)
  1228.  
  1229. >Incidentally, if anyone would like more info about OpenDoc, there are white
  1230. >papers and such available by anon ftp from cil.org.
  1231. >
  1232.  
  1233. Thanks!
  1234.  
  1235. -H-
  1236.  
  1237.  
  1238. >--Jens Alfke
  1239. >  jens_alfke@powertalk              Rebel girl, rebel girl,
  1240. >            .apple.com              Rebel girl you are the queen of my world
  1241.  
  1242.  
  1243. -- 
  1244. :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  1245. Howard Berkey                                             howard@netcom.com   
  1246.                   Eat at C-Ko's
  1247. ...........................................................................
  1248.  
  1249. +++++++++++++++++++++++++++
  1250.  
  1251. >From mhteas@aol.com (Mhteas)
  1252. Date: 25 Jun 1994 09:50:14 -0400
  1253. Organization: America Online, Inc. (1-800-827-6364)
  1254.  
  1255. In article <2ue6v6$fs3@news.kth.se>, d88-jwa@dront.nada.kth.se (Jon
  1256. Wtte) writes:
  1257.  
  1258. >Basically, OLE sucks. OpenDoc will be out Any Year Now and has a
  1259. much
  1260. >clearer and better usage model and content model.
  1261.  
  1262. After trying to use OLE, I whole-heartedly agree with the Jon's
  1263. statement.  I avoid using MS products when I can.  MS is a good
  1264. demonstration that marketing ability and quality technology are
  1265. completely different things.  Working around Windows programmers is a
  1266. good way to learn new curse words.  (So Jen, when do I expect *my*
  1267. PowerMac? :)
  1268.  
  1269. However, as much as I would prefer to use OpenDoc (don't you think I
  1270. suggested it?), I'm working on contract.  The client spec'ed OLE for
  1271. proprientary reasons of their own.  As I specifically mentioned in my
  1272. earlier request, "I do need to use OLE, this is non-negotiable with
  1273. my client."
  1274.  
  1275. Just asking for info, don't jump on me :)
  1276.  
  1277. Thanks anyhow,
  1278.  
  1279. Malcolm H. Teas                   Software by contract for 
  1280. Teas Technology                   the Macintosh and Newton
  1281. mhteas@aol.com
  1282. Voice/fax: (603) 427-0231 (USA)
  1283.  
  1284. +++++++++++++++++++++++++++
  1285.  
  1286. >From rob@eats.com (Rob Newberry)
  1287. Date: Sat, 25 Jun 1994 22:23:34 UNDEFINED
  1288. Organization: Education and Technology Solutions
  1289.  
  1290. >Basically, OLE sucks. OpenDoc will be out Any Year Now and has a much
  1291. >clearer and better usage model and content model. If you support OpenDoc,
  1292. >Apple will provide interchangeability with OLE 2.
  1293.  
  1294. Ok, Jon...OLE may not be all OpenDoc is, BUT...
  1295.  
  1296. OLE is here now.  OpenDoc is not.  And it may not be for a while.  And once it 
  1297. is, I doubt there will be as much help in learning it as there is for learning 
  1298. OLE -- everyone and their dog is starting to use OLE under Windows, and there 
  1299. are already several great texts on using it.  Where is the same for OpenDoc?  
  1300. Nowhere.
  1301.  
  1302. I see no need to defend Microsoft -- in fact, I'd just as soon jump in on the 
  1303. attack.  But OLE is perhaps the best thing Microsoft ever did, and is 
  1304. probably the most innovative technology they've ever come up with.  Everywhere 
  1305. else, Windows is a copy of other ideas.  But with OLE, Microsoft is actually 
  1306. leading most of the game (yes, I'm aware that they didn't completely come up 
  1307. with OLE from scratch, but hell, very few companies ever completely invent 
  1308. something like component computing -- Microsoft's technique is simply a good 
  1309. starting point, and a truly good effort for as young as the technology is).
  1310.  
  1311. Sure, if all you want to do is Mac development, you can wait for OpenDoc.  It 
  1312. will be better than OLE.  But then again, Apple and friends can draw from 
  1313. Microsoft's mistakes.  On the other hand, Microsoft will continue to improve 
  1314. OLE.  And there will probably always be more support and documentation for 
  1315. learning OLE.
  1316.  
  1317. One last note.  While Bento is a wonderful thing, OLE does have the compound 
  1318. file system, which is very nice.  Bento may let you do a whole lot more, but 
  1319. compound files do almost everything I can think of that I need to do compound 
  1320. documents.
  1321.  
  1322. I'd love to see OpenDoc do very well for Apple.  But OLE is here now.  And 
  1323. there's lots of information about how to use it.
  1324.  
  1325. (And while I'm still upon this soapbox, the guy said he had to use OLE because 
  1326. it was in a contract.  Why would you tell him, "don't do it" ?  Did you want 
  1327. to see him fired?  For heaven's sake, at least tell him, "I'm sorry you have 
  1328. to do that, but here's the best info I can give you."  And why shouldn't 
  1329. anyone learn OLE?  Why should a programmer avoid learning any technology?  Go 
  1330. ahead, if you can, learn OLE.  It'll only make you a better programmer (even 
  1331. if it's just because you see lots of design flaws :-), and a lot more 
  1332. marketable as a professional.  Hell, learn as much as you can.  Don't be 
  1333. scared to dig in, just because something easier may come along.  Sheesh.)
  1334.  
  1335. Rob
  1336.  
  1337.  
  1338. *******************************************************************
  1339. Rob Newberry               Education and Technology Solutions, Inc.
  1340. Email: rob@eats.com        4303 Parkland Court
  1341. Phone: 301 438 3915        Rockville, Maryland 20853            
  1342. FAX: 301 438 3748
  1343.  
  1344.               "He who laughs first didn't get the joke."
  1345.             -- Paul Westerberg
  1346. *******************************************************************
  1347.  
  1348. +++++++++++++++++++++++++++
  1349.  
  1350. >From d88-jwa@dront.nada.kth.se (Jon Wdtte)
  1351. Date: 26 Jun 1994 13:24:01 GMT
  1352. Organization: The Royal Institute of Technology
  1353.  
  1354. >>Thanks, Jon! Couldn't have said it better myself. That 8100AV will be in the
  1355. >>mail to you shortly.
  1356.  
  1357. >Careful!  The way I've heard Swedish ad laws explained, you're obliged
  1358. >to give him one now :-) :-)
  1359.  
  1360. Indeed, else we mount an Air Force expedition and come get him to
  1361. have him stand trial here. Or something.
  1362.  
  1363. Cheers,
  1364.  
  1365.                     / h+
  1366. -- 
  1367.  -- Jon W{tte, h+@nada.kth.se, Mac Software Engineer Deluxe --
  1368.   "And now, from the makers of EDLIN, comes: Windows NT!"
  1369.  
  1370. +++++++++++++++++++++++++++
  1371.  
  1372. >From d88-jwa@dront.nada.kth.se (Jon Wdtte)
  1373. Date: 26 Jun 1994 13:31:19 GMT
  1374. Organization: The Royal Institute of Technology
  1375.  
  1376. In <rob.200.0745C41D@eats.com> rob@eats.com (Rob Newberry) writes:
  1377.  
  1378. >OLE is here now.  OpenDoc is not.  And it may not be for a while.  And once it 
  1379. Huh? Well, these CDs I have must be figments of my imagination then.
  1380.  
  1381. >is, I doubt there will be as much help in learning it as there is for learning 
  1382. And Apple didn't actually hold free kitchens for learning OpenDoc;
  1383. they just drug people and hypnotize them to think they do. (Before
  1384. everyone wants one: you have to be an active developer who shows
  1385. interest at adopting new technologies. Tals to your evangelist. And
  1386. travel & lodging is on you)
  1387.  
  1388. >Sure, if all you want to do is Mac development, you can wait for OpenDoc.  It 
  1389.  
  1390. With a half-year lead-time for product development, chances are that
  1391. OpenDoc is on the market when your component gets out.
  1392.  
  1393. >file system, which is very nice.  Bento may let you do a whole lot more, but 
  1394. >compound files do almost everything I can think of that I need to do compound 
  1395. >documents.
  1396.  
  1397. Bento actively encourages you to let different objects access each
  1398. OTHERs data, even without using Semantic Events (like scripting)
  1399. Bento also has drafts of the Bento file.
  1400.  
  1401. >it was in a contract.  Why would you tell him, "don't do it" ?  Did you want 
  1402. >to see him fired?  For heaven's sake, at least tell him, "I'm sorry you have 
  1403.  
  1404. Oh, no, I said OpenDoc will cross-support OLE, so if his deadline is
  1405. suffucuently far from now, he could go OpenDoc. Myself, I'm picky about
  1406. customers these days. After all, he's paying me to enlighten him about
  1407. stuff I know more about than him, and if he won't take it without really
  1408. good reasons, well, I suggest he uses someone cheaper and more gullible.
  1409.  
  1410. >marketable as a professional.  Hell, learn as much as you can.  Don't be 
  1411. >scared to dig in, just because something easier may come along.  Sheesh.)
  1412.  
  1413. I had the OLE 2 for Mac seed, but it scared me away.
  1414.  
  1415. Cheers,
  1416.  
  1417.                     / h+
  1418. -- 
  1419.  -- Jon W{tte, h+@nada.kth.se, Mac Software Engineer Deluxe --
  1420.   "And now, from the makers of EDLIN, comes: Windows NT!"
  1421.  
  1422. +++++++++++++++++++++++++++
  1423.  
  1424. >From isis@netcom.com (Mike Cohen)
  1425. Date: Sun, 26 Jun 1994 21:21:07 GMT
  1426. Organization: ISIS International
  1427.  
  1428. d88-jwa@dront.nada.kth.se (Jon Wdtte) writes:
  1429.  
  1430. >I had the OLE 2 for Mac seed, but it scared me away.
  1431.  
  1432. I also got it & was very disgusted by it. After looking at it a few times, I
  1433. decided not to bother.
  1434. -- 
  1435. Mike Cohen - isis@netcom.com
  1436. NewtonMail, eWorld: MikeC / ALink: D6734 / AOL: MikeC20
  1437. Home Page: file://ftp.netcom.com/pub/isis/home.html
  1438.  
  1439. +++++++++++++++++++++++++++
  1440.  
  1441. >From Aaron Bratcher <aaron_bratcher@fpm.uchicago.edu>
  1442. Date: Mon, 27 Jun 1994 12:01:56 GMT
  1443. Organization: University of Chicago
  1444.  
  1445. In article <rob.200.0745C41D@eats.com> Rob Newberry, rob@eats.com writes:
  1446. >Sure, if all you want to do is Mac development, you can wait for OpenDoc...
  1447.  
  1448. Isn't that kinda like not supporting AppleEvents because it's not on Windows? One good turn deseres another  :P
  1449.  
  1450. Seriously... I think that waiting for OpenDoc will be well worth it. OLE is here now, but I personally would rather not give Microsoft any more money.
  1451.  
  1452. - ------------------------------------------------------------------------
  1453.      MegaWatt                         |    _____  _____  _____   _   _ 
  1454.                                       |   |__  / | ___ || ___ \ | | | |
  1455. AKA  Aaron L. Bratcher                |     / /  | |_| || |_/ / | | | |
  1456.      University of Chicago            |    / /__ | ___ ||  __/  |_| |_|
  1457.      aaron_bratcher@fpm.uchicago.edu  |   |_____||_| |_||_|     (_) (_)
  1458. - ------------------------------------------------------------------------
  1459.  
  1460. +++++++++++++++++++++++++++
  1461.  
  1462. >From Jens Alfke <jens_alfke@powertalk.apple.com>
  1463. Date: Tue, 28 Jun 1994 00:53:53 GMT
  1464. Organization: Apple Computer
  1465.  
  1466. Rob Newberry, rob@eats.com writes:
  1467. > Sure, if all you want to do is Mac development, you can wait for OpenDoc.
  1468.  
  1469. Remember that OpenDoc is being developed for many platforms, not just the
  1470. Mac. Alpha seeds for Windows and OS/2 are now available from WordPerfect and
  1471. IBM respectively, and Unix (AIX and others) ports shouldn't be far behind.
  1472. The OpenDoc Parts Framework will also support Mac/Windows cross-platform part
  1473. development.
  1474.   All this I think makes OpenDoc pretty compelling to people considering
  1475. cross platform development. (How soon before we see OLE for Unix? Or for
  1476. native OS/2 apps?)
  1477.  
  1478. --Jens Alfke
  1479.   jens_alfke@powertalk              Rebel girl, rebel girl,
  1480.             .apple.com              Rebel girl you are the queen of my world
  1481.  
  1482. +++++++++++++++++++++++++++
  1483.  
  1484. >From Neil Ticktin <publisher@xplain.com>
  1485. Date: Tue, 28 Jun 1994 03:28:13 GMT
  1486. Organization: MacTech Magazine/Xplain Corp.
  1487.  
  1488. In article <2udca9$odt@search01.news.aol.com> Mhteas, mhteas@aol.com
  1489. writes:
  1490. >Is there anyone who's implemented OLE linking on the Macintosh that
  1491. >can provide advice?
  1492.  
  1493. Malcolm,
  1494.  
  1495. Long time -- no talk.
  1496.  
  1497. FYI:  The August issue of MacTech Magazine will have the OLE 2.0 SDK CD
  1498. *bound into* the magazine.  There's some sample articles on using OLE and
  1499. another article on OpenDoc vs. OLE.  I believe that the "SimpleServer"
  1500. article which was written by Microsoft to show off OLE might help you --
  1501. but I'd have to double check to make sure.
  1502.  
  1503. This issue will be available at the MacTech Magazine booth at Macworld in
  1504. World Trade Center.  If you are a subscriber, it will show up on your
  1505. door step automatically.  If not, come by and see us to get a copy.
  1506.  
  1507. Hope it helps,
  1508.  
  1509. Neil Ticktin
  1510. MacTech Magazine
  1511. - ---------------------------------------------------------------------
  1512.            Neil Ticktin, MacTech Magazine (formerly MacTutor)
  1513. PO Box 250055, Los Angeles, CA 90025 * 310-575-4343 * Fax: 310-575-0925
  1514.  For more info, anonymous ftp to ftp.netcom.com and cd to /pub/xplain
  1515.   custservice@xplain.com * editorial@xplain.com * adsales@xplain.com
  1516. marketing@xplain.com * accounting@xplain.com * pressreleases@xplain.com
  1517.    progchallenge@xplain.com * publisher@xplain.com * info@xplain.com
  1518.  
  1519. +++++++++++++++++++++++++++
  1520.  
  1521. >From jonpugh@netcom.com (Jon Pugh)
  1522. Date: Thu, 30 Jun 1994 00:49:58 GMT
  1523. Organization: NETCOM On-line Communication Services (408 261-4700 guest)
  1524.  
  1525. Jon Wdtte (d88-jwa@dront.nada.kth.se) wrote:
  1526. > >>Thanks, Jon! Couldn't have said it better myself. That 8100AV will be in the
  1527. > >>mail to you shortly.
  1528.  
  1529. > >Careful!  The way I've heard Swedish ad laws explained, you're obliged
  1530. > >to give him one now :-) :-)
  1531.  
  1532. > Indeed, else we mount an Air Force expedition and come get him to
  1533. > have him stand trial here. Or something.
  1534.  
  1535. I thought you guys were neutral and all your army does is make pocket knives.
  1536.  
  1537. ;)
  1538.  
  1539. Jon
  1540.  
  1541. +++++++++++++++++++++++++++
  1542.  
  1543. >From quinn@cs.uwa.edu.au (Quinn "The Eskimo!")
  1544. Date: Fri, 01 Jul 1994 10:58:35 +0800
  1545. Organization: Department of Computer Science, The University of Western Australia
  1546.  
  1547. In article <jonpughCs6qBA.B0G@netcom.com>, jonpugh@netcom.com (Jon Pugh) wrote:
  1548.  
  1549. >Jon Wdtte (d88-jwa@dront.nada.kth.se) wrote:
  1550. >> >>Thanks, Jon! [...]
  1551. >
  1552. >I thought you guys were neutral and all your army does is make pocket knives.
  1553.  
  1554. Yeah, the Swedish Army Knife, a marvellous piece of badge engineering,
  1555. perfect for those of us who prefer gold-on-blue to the more garish
  1556. white-on-red.
  1557. -- 
  1558. Quinn "The Eskimo!"      <quinn@cs.uwa.edu.au>     "Support HAVOC!"
  1559. Department of Computer Science, The University of Western Australia
  1560.  
  1561. +++++++++++++++++++++++++++
  1562.  
  1563. >From Dan_Menchaca@quickmail.apple.com (Dan)
  1564. Date: Fri, 01 Jul 1994 18:47:45 -0700
  1565. Organization: Apple
  1566.  
  1567.  
  1568. > However, as much as I would prefer to use OpenDoc (don't you think I
  1569. > suggested it?), I'm working on contract.  The client spec'ed OLE for
  1570. > proprientary reasons of their own.  As I specifically mentioned in my
  1571. > earlier request, "I do need to use OLE, this is non-negotiable with
  1572. > my client."
  1573. So what's the problem.  OpenDoc will support OLE.  So, you can have OpenDoc
  1574. modules and still have OLE too.  So, go out and use OpenDoc as the
  1575. container object of choice.
  1576.  
  1577. +++++++++++++++++++++++++++
  1578.  
  1579. >From rickard@softlab.se (Rickard Andersson)
  1580. Date: 30 Jun 1994 17:01:38 +0200
  1581. Organization: SoftLab ab
  1582.  
  1583. jonpugh@netcom.com (Jon Pugh) writes:
  1584. >Jon Wdtte (d88-jwa@dront.nada.kth.se) wrote:
  1585. >> >>Thanks, Jon! Couldn't have said it better myself. That 8100AV will be in the
  1586. >> >>mail to you shortly.
  1587.  
  1588. >> >Careful!  The way I've heard Swedish ad laws explained, you're obliged
  1589. >> >to give him one now :-) :-)
  1590.  
  1591. >> Indeed, else we mount an Air Force expedition and come get him to
  1592. >> have him stand trial here. Or something.
  1593.  
  1594. >I thought you guys were neutral and all your army does is make pocket knives.
  1595.  
  1596. >;)
  1597.  
  1598. >Jon
  1599.  
  1600. We aren't more neutral than anybody else :-)
  1601. And we buy our pocket knives from Switzerland :-)
  1602.  
  1603.  
  1604. | Rickard Andersson       rickard@softlab.se |     be in harmony     
  1605. +--------------------------------------------+ with the eye of viewer
  1606. | A swede programming Macintosh shareware... |   that is the answer  
  1607. +--------------------------------------------+         /RAN          
  1608.  
  1609. ---------------------------
  1610.  
  1611. >From oster@netcom.com (David Phillip Oster)
  1612. Subject: Omission in Universal Headers: TrackControl()
  1613. Date: Thu, 30 Jun 1994 15:16:48 GMT
  1614. Organization: Netcom Online Communications Services (408-241-9760 login: guest)
  1615.  
  1616. I am still using Apple's Universal Headers that came with THINK C 7,
  1617. and I want to know if a missing piece in them has been fixed.
  1618.  
  1619. Oddly enough, the missing piece is with the system call TrackControl().
  1620. It is odd, because TrackControl() is the system call that
  1621. InsideMac:PowerPC uses as an example of calling a system call with
  1622. niversal procedure pointers.
  1623.  
  1624. The problem is that that InsideMac:Toolbox Essentials says that
  1625. TrackControl() can be called two ways:
  1626.  
  1627. 1.) with a callback which will be called during a sustained mousedown
  1628. in a control part like a scroll-bar arrow. This callback will be called
  1629. with the ControlHandle and part code as its two arguments.
  1630.  
  1631. 2) with a callback which will be called during a sustained mousedown
  1632. and drag on a control part like a scroll-bar thumb. This callback will
  1633. be called with no arguments.
  1634.  
  1635. Type one is handled by ControlActionProcPtr which is defined in the
  1636. Universal Header's Controls.h file.
  1637.  
  1638. Type two is not handled. There should be a
  1639. ControlIndicatorActionProcPtr and there isn't.
  1640.  
  1641. +++++++++++++++++++++++++++
  1642.  
  1643. >From wdh@netcom.com (Bill Hofmann)
  1644. Date: Thu, 30 Jun 1994 15:50:45 GMT
  1645. Organization: Fresh Software
  1646.  
  1647. In article <osterCs7uG1.2x2@netcom.com>, oster@netcom.com (David Phillip
  1648. Oster) wrote:
  1649. > I am still using Apple's Universal Headers that came with THINK C 7,
  1650. > and I want to know if a missing piece in them has been fixed.
  1651. >...
  1652. > Type one is handled by ControlActionProcPtr which is defined in the
  1653. > Universal Header's Controls.h file.
  1654. > Type two is not handled. There should be a
  1655. > ControlIndicatorActionProcPtr and there isn't.
  1656. You're right.  It's a bug.  Report it to Apple.Bugs and MPW.Bugs at
  1657. Applelink.apple.com.  I've found a few other ommissions.  Hapily, the
  1658. people maintaining the headers are amenable to bug reports.
  1659. -- 
  1660. Bill Hofmann                                   wdh@netcom.com
  1661. Fresh Software and Instructional Design        voice: +1 510 524 0852
  1662. 1640 San Pablo Ave #C, Berkeley CA 94702 USA   fax:   +1 510 524 0853
  1663.  
  1664. ---------------------------
  1665.  
  1666. >From Kevin.R.Boyce@gsfc.nasa.gov (Kevin R. Boyce)
  1667. Subject: Where does data go when no PPCRead is pending?
  1668. Date: Tue, 28 Jun 1994 15:22:50 -0400
  1669. Organization: NASA/GSFC
  1670.  
  1671. Another PPC question:
  1672.  
  1673. What happens to data that gets sent to a port using PPCWrite when there is
  1674. no PPCRead pending on the other end?  Apparently it all just squirts out
  1675. the end of the pipe and onto the floor.  Is this true?  This would actually
  1676. be A Good Thing, since the only way I could be sent data I haven't
  1677. specifically asked for is if the user sticks his hands up something they
  1678. don't belong.  I just don't want to have trouble later with people slipping
  1679. on all that gooey data....
  1680.  
  1681. -- 
  1682. Kevin      Kevin.R.Boyce@gsfc.nasa.gov
  1683.         -- Happy 100th, Lowell Observatory and GAS --
  1684.  
  1685. +++++++++++++++++++++++++++
  1686.  
  1687. >From jumplong@aol.com (Jump Long)
  1688. Date: 29 Jun 1994 02:32:05 -0400
  1689. Organization: America Online, Inc. (1-800-827-6364)
  1690.  
  1691. In article <Kevin.R.Boyce-280694152250@sofa.gsfc.nasa.gov>,
  1692. Kevin.R.Boyce@gsfc.nasa.gov (Kevin R. Boyce) writes:
  1693.  
  1694. >What happens to data that gets sent to a port using PPCWrite when
  1695. there is
  1696. >no PPCRead pending on the other end?  Apparently it all just squirts
  1697. out
  1698. >the end of the pipe and onto the floor. Is this true? This would
  1699. actually
  1700. >be A Good Thing, since the only way I could be sent data I haven't
  1701. >specifically asked for is if the user sticks his hands up something
  1702. they
  1703. >don't belong.  I just don't want to have trouble later with people
  1704. slipping
  1705. >on all that gooey data....
  1706.  
  1707. The PPC Toolbox is implemented on top of ADSP which, unless the
  1708. connection breaks, is not supposed to loose data (and doesn't as far
  1709. as I know).
  1710.  
  1711. So, what happens to data passed to PPCWrite if there's no PPCRead
  1712. pending?  First, it sits in the senders buffers until PPC can pass it
  1713. off to ADSP. It can do that when ADSP has room in the send queue for
  1714. the data. Then, it sits in the ADSP send queue until there's room in
  1715. the receiver's ADSP receive queue.  Then, it sits in the ADSP receive
  1716. queue until that end of the connection reads it with a PPCRead
  1717. request.
  1718.  
  1719. Off the top of my head, I can't tell you how big the ADSP send and
  1720. receive buffers used by PPC Toolbox are, but you should be able to
  1721. find out by breaking on dspInit and looking at the ADSP connection
  1722. control block passed in by the PPC Toolbox code.
  1723.  
  1724. If you want to know more about ADSP, see Inside AppleTalk second
  1725. edition (for how the protocol works) and either Inside Macintosh
  1726. Volume VI, chapter 32 "The AppleTalk Manager" or Inside Macintosh:
  1727. Networking, chapter 5 "AppleTalk Data Stream Protocol".
  1728.  
  1729. If you want to know more about the PPC Toolbox, I believe APDA sells
  1730. a document that tells how to implement the PPC Toobox on top of NBP
  1731. and ADSP (this document doesn't describe the Macintosh implementation
  1732. in detail. Instead, it's intended audience are developer implementing
  1733. the PPC Toolbox on non-Macintosh platforms).
  1734.  
  1735. - Jim Luther
  1736.  
  1737.  
  1738. ---------------------------
  1739.  
  1740. End of C.S.M.P. Digest
  1741. **********************
  1742.  
  1743.  
  1744.